Appearance
CS106B: Programming Abstractions
Course Overview
University: Stanford
Instructor: Chris Gregg
Status: Not Started
Progress: 0/28 lectures
Learn C++ and master essential data structures and algorithms. This is where programming becomes powerful.
Resources
📺 Stanford CS106B Playlist
🌐 Course Website
📚 Course Materials
Key Topics
- C++ fundamentals and syntax
- Pointers and memory management
- Recursion
- Data structures:
- Vectors and arrays
- Linked lists
- Stacks and queues
- Trees and graphs
- Sorting and searching algorithms
- Algorithm efficiency and Big O notation
- Debugging and profiling
Why This Matters
CS106B teaches you to think about data and abstraction. You'll learn:
- Data structures: How to organize data for efficient access
- Algorithms: Classic approaches to solving problems
- Efficiency: How to write fast, scalable code
- C++: A powerful systems programming language
Learning Goals
By the end of this course, you should be able to:
- Write efficient C++ programs
- Choose appropriate data structures for different problems
- Implement classic data structures from scratch
- Analyze algorithm complexity
- Debug complex programs
- Understand memory management and pointers
Study Plan
Estimated Time: 6-8 hours/week for 10-12 weeks
- Lectures: ~3 hours/week
- Assignments: ~3-5 hours/week
- Reading: ~1 hour/week
Daily Notes
Week 1: C++ Basics
- [ ] Lecture 1: Welcome
- [ ] Lecture 2: C++ Basics
- [ ] Assignment 1: Starter Code
Week 2: Vectors & Functions
- [ ] Lecture 3: Vectors
- [ ] Lecture 4: Functions
- [ ] Assignment 2
Assignments
Key Data Structures
Key Takeaways
[← Back to Winter Quarter](Online Studying/CS - Stanford, MIT, Berkley/Year 1/Winter Quarter/index.md) | Next Course: Calculus 2 →